This invention relates generally to computer systems, and more particularly to a software licensing management system.
Traditionally, software licensing has been carried out based upon a “front-end” model. That is, the customer is required to decide up front what set or sets of software he needs to license, the duration of the license, how many copies of the software he needs, how many concurrent users there will be, as well as other licensing parameters. Once these decisions are made, and once the licensing fee is paid, the customer is allowed to use the software under the terms of the license. Once the license is purchased, the customer typically has no right to change any of the terms of the license (e.g. the customer typically cannot change the license to cover another set of software, or terminate the license prematurely to recover part of the licensing fee). Thus, if the customer estimated his needs incorrectly, or if his needs have changed, he typically has no recourse to change the terms of the license to fit his needs.
This approach has a number of significant drawbacks. First, it puts the customer in a very difficult position of determining, at the outset, what his needs will be. Often, this determination has to be made at the start of a project, a time at which the customer has little knowledge of what his needs will be. Because of this lack of knowledge, customers often overestimate their needs, and hence, overpay for the software license. Another drawback of this approach is that it limits the customer's incentive to take advantage of upgrades to the licensed software. Typically, to receive a license to an upgraded version, a customer has to pay an additional fee. Often, the additional fee is substantial. Thus, in order to obtain several upgrades to the same set of software, the customer sometimes has to pay significant amounts above and beyond the original licensing amount for substantially the same or just a slightly modified version of the software. For this reason, many customers choose to use outdated software rather than upgrade.
Overall, the front-end approach is very inflexible. It is ill-equipped to adapt to the changing needs of a customer. If a customer overestimates his needs, or if a project requiring the software is canceled, the customer loses his investment in the software. There is typically no option, for example, to trade the software in for another set of software. Because of its lack of flexibility, this model for licensing software leaves much to be desired. Consequently, an improved licensing methodology is needed.